<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>php学习笔记[010]</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="show"><span>022 PHP面向对象开发学习（六）</span></div>
<?php include 'include/top.php';?>
<div class="text"><b>final</b>
<strong>final</strong>锁定关键字，锁定后类不能被继承，方法不能被重载。</div>
<div class="text"><b>self</b>
<strong>self</strong>自身关键字，在类未被实例化的情况下使用自身的属性和方法。<br />
使用语法：<strong>self</strong>::方法、属性名。<br />
外部使用静态属性可以使用<strong>类名</strong>::方法、属性名。
</div>
<div class="text"><b>static</b>
<strong>static</strong>静态属性关键词。静态属性无论该类被实例化多少对象在内存中都只占用一份。<br />
当然，静态属性的值是所有类公用的。被改变后所有对象都改变。<br />
只有静态属性，没有静态方法。<br />

</div>
<div class="text"><b>const</b>
<strong>const</strong>常量关键词。定义一个常量，常量名不需要带$符号，一般我们大写它。<br />
我们依然用实例来描述他们。<br />
<div class="code">
  &lt;?php<br />
    class MyPc{<br />
    static $name='name';<br />
    const TYPE='type';<br />
    public $content='content';<br />
    final function fun1(){<br />
    echo 'the function is final &lt;br /&gt;';<br />
    }<br />
    function fun2(){<br />
	//$this->$name.'111&lt;br /&gt;';<br />
    echo self::$name.'222&lt;br /&gt;';<br />
    }<br />
    }</p>
  <p>echo MyPc::$name.'&lt;br /&gt;';<br />
    echo MyPc::TYPE.'&lt;br /&gt;';<br />
    $p=new MyPc();<br />
    $q=new MyPc();<br />
    $p-&gt;fun2();<br />
    ?&gt;
</div>
其效果如下！
<div class="effect">
<?php
class MyPc{
static $name='name';
const TYPE='type';
public $content='content';
final function fun1(){
	echo 'the function is final <br />';
	}
function fun2(){
//$this->$name.'111<br />';
echo self::$name.'222<br />';
	}
}

echo MyPc::$name.'<br />';
echo MyPc::TYPE.'<br />';
$p=new MyPc();
$q=new MyPc();
$p->fun2();
?>
</div>
</div>




</body>
</html>
